/*
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 */
package org.apache.maven.scm.provider.svn.svnkit;

import java.io.File;

import org.apache.maven.scm.ScmException;
import org.apache.maven.scm.provider.svn.AbstractSvnScmProvider;
import org.apache.maven.scm.provider.svn.command.SvnCommand;
import org.apache.maven.scm.provider.svn.svnkit.add.SvnAddCommand;
import org.apache.maven.scm.provider.svn.svnkit.branch.ScmBranchCommand;
import org.apache.maven.scm.provider.svn.svnkit.changelog.SvnChangeLogCommand;
import org.apache.maven.scm.provider.svn.svnkit.checkin.SvnCheckInCommand;
import org.apache.maven.scm.provider.svn.svnkit.checkout.SvnCheckOutCommand;
import org.apache.maven.scm.provider.svn.svnkit.diff.SvnDiffCommand;
import org.apache.maven.scm.provider.svn.svnkit.export.SvnExportCommand;
import org.apache.maven.scm.provider.svn.svnkit.info.SvnInfoCommand;
import org.apache.maven.scm.provider.svn.svnkit.list.SvnListCommand;
import org.apache.maven.scm.provider.svn.svnkit.remove.SvnRemoveCommand;
import org.apache.maven.scm.provider.svn.svnkit.status.SvnStatusCommand;
import org.apache.maven.scm.provider.svn.svnkit.tag.SvnTagCommand;
import org.apache.maven.scm.provider.svn.svnkit.update.SvnUpdateCommand;

/**
 * @author Justin Corpron (jncorpron)
 */
public class SvnKitScmProvider extends AbstractSvnScmProvider {
	
	/** {@inheritDoc} */
	protected String getRepositoryURL(File arg0) throws ScmException {
		return null;
	}

	/** {@inheritDoc} */
	protected SvnCommand getAddCommand() {
		return new SvnAddCommand();
	}

	/** {@inheritDoc} */
	protected SvnCommand getBranchCommand() {
		return new ScmBranchCommand();
	}

	/** {@inheritDoc} */
	protected SvnCommand getChangeLogCommand() {
		return new SvnChangeLogCommand();
	}

	/** {@inheritDoc} */
	protected SvnCommand getCheckInCommand() {
		return new SvnCheckInCommand();
	}

	/** {@inheritDoc} */
	protected SvnCommand getCheckOutCommand() {
		return new SvnCheckOutCommand();
	}

	/** {@inheritDoc} */
	protected SvnCommand getDiffCommand() {
		return new SvnDiffCommand();
	}

	/** {@inheritDoc} */
	protected SvnCommand getExportCommand() {
		return new SvnExportCommand();
	}

	/** {@inheritDoc} */
	protected SvnCommand getInfoCommand() {
		return new SvnInfoCommand();
	}

	/** {@inheritDoc} */
	protected SvnCommand getListCommand() {
		return new SvnListCommand();
	}

	/** {@inheritDoc} */
	protected SvnCommand getRemoveCommand() {
		return new SvnRemoveCommand();
	}

	/** {@inheritDoc} */
	protected SvnCommand getStatusCommand() {
		return new SvnStatusCommand();
	}

	/** {@inheritDoc} */
	protected SvnCommand getTagCommand() {
		return new SvnTagCommand();
	}

	/** {@inheritDoc} */
	protected SvnCommand getUpdateCommand() {
		return new SvnUpdateCommand();
	}

}
